import 'package:flutter/material.dart';
import 'lib/app/widgets/markdown_preview_widget.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Markdown分数测试',
      home: TestScreen(),
    );
  }
}

class TestScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('MarkdownPreviewWidget分数测试'),
      ),
      body: SingleChildScrollView(
        padding: EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text(
              '测试各种分数格式：',
              style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
            ),
            SizedBox(height: 20),
            
            _buildTestCase('简单分数', '这是一个简单的分数：(1/2)，应该显示为分数格式。'),
            
            _buildTestCase('复杂分数', '增长率公式：((本期-基期)/基期)×100%'),
            
            _buildTestCase('中文分数', '平均增长率：(总增长量/n年)'),
            
            _buildTestCase('用户提供的实际案例', '''
## 一、基期量 
 1. **核心公式**： 
     - 基期量 = 现期量 - 增长量 
     - 基期量 = 现期量÷(1 + r)即((现期量)/(1 + r)) 
     - 基期量 = 增长量÷r（即（增长量）/r） 
     
## 二、增长率公式
 1. **增长率计算**：
     - 增长率 = ((现期量 - 基期量)/基期量) × 100%
     - 逆向增长率 = (基期量/(现期量 - 基期量)) × 100%
            '''),
           
           _buildTestCase('混合内容', '''
# 标题测试
这是一段包含**粗体**和*斜体*的文本。

- 列表项1：包含分数(3/4)
- 列表项2：包含复杂分数((a+b)/(c+d))

> 引用块中的分数：(现期量/基期量)

代码块：
```dart
// 这里不应该处理分数(1/2)
print("Hello World");
```

表格测试：
| 项目 | 公式 | 说明 |
|------|------|------|
| 增长率 | ((本期-基期)/基期) | 基本公式 |
| 平均值 | (总和/个数) | 简单平均 |
            '''),
          ],
        ),
      ),
    );
  }
  
  Widget _buildTestCase(String title, String content) {
    return Container(
      margin: EdgeInsets.only(bottom: 20),
      padding: EdgeInsets.all(12),
      decoration: BoxDecoration(
        border: Border.all(color: Colors.grey.shade300),
        borderRadius: BorderRadius.circular(8),
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Text(
            title,
            style: TextStyle(
              fontSize: 16,
              fontWeight: FontWeight.bold,
              color: Colors.blue,
            ),
          ),
          SizedBox(height: 8),
          MarkdownPreviewWidget(
            content: content,
            style: TextStyle(fontSize: 14),
          ),
        ],
      ),
    );
  }
}